package com.xgxf.server.mapper;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.xgxf.server.common.BaseResult;
import com.xgxf.server.pojo.ObjectiveValues;
import com.xgxf.server.pojo.StandardValues;
import com.xgxf.server.pojo.TestResultOverall;
import com.xgxf.server.pojo.TestResultQuery;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;


@Mapper
public interface TestResultMapper {

    /**
     * 分页获取文件列表
     * @param page 分页信息
     * @param query 查询条件
     * @return 查询结果
     */
    Page<TestResultOverall> getList(@Param("page") IPage<TestResultOverall> page, @Param("query") TestResultQuery query);

    List<String> getTypeList();

    List<String> getVinList();

    /**
     * 直接返回主观检测项次名称
     * @param num
     * @param testName
     * @param columnName
     * @param query
     * @return
     */
    List<BaseResult> getSubjectiveResultsByName(@Param("num") int num, @Param("testName") String testName, @Param("columnName") String columnName, @Param("query") TestResultQuery query);

    /**
     * 只返回主观检测项次id，需要从static map里面获取检测项名称
     * @param num
     * @param testName
     * @param query
     * @return
     */
    List<BaseResult> obtainSubjectiveResults(@Param("num") int num, @Param("testName") String testName, @Param("query") TestResultQuery query);

    ObjectiveValues getObjectiveValues(@Param("query") TestResultQuery query);

    StandardValues getStandardValues(@Param("query") TestResultQuery query);

    TestResultOverall getOverall(@Param("query") TestResultQuery query);
}